The typical digital computer system includes one or more disk subsystems for storing both data and instructions. Disks within the disk subsystems are divided into a plurality of tracks, at selected radial distances from the center and sectors which define particular angular regions in each track. When plural disks are present in a disk system, identically positioned tracks on each disk are handled as a volume (or cylinder).
Since stored data may be corrupted or destroyed, backup systems have been developed to create multiple copies of the stored data, usually on separate disk drives so that in such an event, the data can been recovered from one or more of the copies. Such provision of copies is referred to as either "shadowing" or "mirroring" of the data. When such mirroring is carried on between a pair of remotely located disk volumes, those disk volumes are referred to as a "peer to peer remote copy" (PPRC) pair.
While a PPRC pair may create mirrored copies at discrete intervals, many PPRC pairs now mirror their data on a continuing basis so as to maintain their respective data copies in synchronism. While such backup copying techniques are frequently used, they are expensive in terms of required processing time, especially when the virtual storage volume system stores large amounts of data.
As those skilled in the art understand, many host processors are programmed to provide data addresses in a form dictated by disk drive configurations that are now obsolete. Such outmoded disk drive configurations comprised relatively large diameter storage disks that were addressed on the basis of a cylinder (i.e., tracks on a plurality of disks) and a read/write head (to designate a particular disk). Currently, in lieu of such large disk systems, the industry has migrated to use of multiple small disk drive systems that are available on a commodity basis and, as a result, are inexpensive yet reliable.
To avoid having to re-program the host processors, storage systems using these small disk drives incorporate an address translation facility which converts the host data addresses (i.e., cylinder and head) to virtual storage volume addresses, such addresses defining physical addresses of disk systems that comprise the virtual storage volume. The virtual storage volume may be spread across many physical disk drives, with the virtual volume host addresses being related to physical disk addresses by a virtual volume directory. Thus, a storage system establishes virtual storage volumes which conform to the host addresses, even though such virtual storage volumes do not exist in reality, but rather exist in a distributed fashion across plural small disk drives.
As can thus be seen, data from a host processor can be spread across many disk drives and is thereafter only accessible by reference to an associated virtual volume directory. To, in effect, make a "copy" of data in a virtual volume, a copy or "snapshot" of a virtual volume directory is sometimes created, with each entry in the virtual volume directory comprising a pointer to a disk physical address which corresponds to a host-received virtual volume address.
A cost efficient data preservation technique employs the concept of transferring to a target virtual storage volume, a "snapshot" copy of a virtual storage volume directory that is to be mirrored. Such a directory transfer preferably occurs at predetermined intervals, i.e., not continuously. Such a snapshot action is facilitated by employing a log-structured file storage procedure. Such a procedure assures that writes of data updates to disk are never done in place. More specifically, when update data is written to disk, it is never overwritten on the old data, but rather is written to a new location.
Accordingly, when a virtual storage volume directory, configured as a log-structured array, is updated to reflect the location of the updated data, only the last entry in the directory which refers to the updated data is valid, even though the directory contains a prior entry indicating the previous location of the old data (which still remains on disk). Thus, when a virtual storage volume is updated, the entry designating the updated copy is written at the end of the log file. Until updated, other copies of the log-structured directory still include entries whose pointers point to the locations of the pre-update (i.e., old) data.
During creation of a snapshot copy of a directory of a virtual storage volume, access to the virtual storage volume is suspended until the snapshot operation is complete.
The prior art includes a number of teachings regarding enhancements of data mirroring actions. For instance, U.S. Pat. No. 5,592,618 to Micka et al. describes a data copy validation technique which compares primary data to a copy of that data by generating check codes of the data to be validated at both primary and secondary volumes in a data mirroring system. The validation session runs concurrently with the data mirroring so as not to disrupt the mirroring action.
U.S. Pat. 5,615,329 to Kern et al. describes a remote data mirroring system which provides real-time disaster recovery, wherein a secondary volume is located remotely from the primary volume. Upon a failure at the primary volume, an error recovery program is invoked and if successful, enables resumption of the duplex operation.
U.S. Pat. No. 5,504,861 to Crockett et al. discloses a remote data mirroring system wherein data updates are transmitted asynchronously from a primary volume to a secondary volume. The mirroring of data being updated is optimized by sorting the record updates according to secondary volume device storage locations and chaining pluralities of input/output control command words according to the sorted data updates. Further data mirroring/shadowing techniques can be found in the following U.S. Pat. Nos. 5,623,599; 5,446,871 and 4,979,108.
After data has been mirrored on a PPRC virtual volume pair, it is sometimes desired to make a new set of copies of directories using a snapshot of the PPRC virtual volume pair. Such new set of copies may then be utilized when making alterations, updates, replacements or other changes to a program. However, communication paths between the PPRC virtual volume pair and the virtual volumes which are to contain the additional directories may not be readily available.
Accordingly, it is an object of this invention to provide an improved method and apparatus for transferring copies of directories of a PPRC virtual volume pair to a second pair of co-located virtual volumes.
It is another object of this invention to provide a method and apparatus for achieving a mirroring operation of directories in a pair of virtual storage volumes, wherein PPRC copy procedures that are already present, are utilized to achieve the mirroring.